Telegram Group & Telegram Channel
πŸ–₯ SQL Flow

SQL Flow позиционируСтся ΠΊΠ°ΠΊ Β«DuckDB для ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…Β» β€” лёгковСсный Π΄Π²ΠΈΠΆΠΎΠΊ stream-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ вСсь pipeline СдинствСнным языком SQL ΠΈ слуТащий ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ Apache Flink.

πŸ” ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ возмоТности:

- Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ (Sources): Kafka, WebSocket-стримы, HTTP-webhooks ΠΈ Π΄Ρ€.
- ΠŸΡ€ΠΈΡ‘ΠΌΠ½ΠΈΠΊΠΈ (Sinks): Kafka, PostgreSQL, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ S3-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, Π»ΡŽΠ±Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ DuckDB (JSON, Parquet, Iceberg ΠΈ Ρ‚.Π΄.).
- SQL-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ (Handler): встраиваСт DuckDB + Apache Arrow; ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π°Π³Ρ€Π΅Π³Π°Ρ‚Ρ‹, ΠΎΠΊΠΎΠ½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, UDF ΠΈ динамичСский Π²Ρ‹Π²ΠΎΠ΄ схСмы.
- Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°ΠΌΠΈ: in-memory tumbling-windows, Π±ΡƒΡ„Π΅Ρ€Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.
- ΠΠ°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ: встроСнныС Prometheus-ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ (с Ρ€Π΅Π»ΠΈΠ·Π° v0.6.0).

πŸ”— АрхитСктура

ΠšΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ описываСтся YAML-Ρ„Π°ΠΉΠ»ΠΎΠΌ с Π±Π»ΠΎΠΊΠ°ΠΌΠΈ `source β†’ handler β†’ sink`.
Π’ΠΎ врСмя выполнСния:

1. Source считываСт ΠΏΠΎΡ‚ΠΎΠΊ (Kafka, WebSocket …).
2. Handler выполняСт SQL-Π»ΠΎΠ³ΠΈΠΊΡƒ Π² DuckDB.
3. Sink сохраняСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

βœ… Быстрый старт (β‰ˆ 5 ΠΌΠΈΠ½ΡƒΡ‚)


# ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π·
docker pull turbolytics/sql-flow:latest

# тСстовая ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
docker run -v $(pwd)/dev:/tmp/conf \
-v /tmp/sqlflow:/tmp/sqlflow \
turbolytics/sql-flow:latest \
dev invoke /tmp/conf/config/examples/basic.agg.yml /tmp/conf/fixtures/simple.json

# запуск ΠΏΡ€ΠΎΡ‚ΠΈΠ² Kafka
docker-compose -f dev/kafka-single.yml up -d # ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ Kafka

docker run -v $(pwd)/dev:/tmp/conf \
-e SQLFLOW_KAFKA_BROKERS=host.docker.internal:29092 \
turbolytics/sql-flow:latest \
run /tmp/conf/config/examples/basic.agg.mem.yml --max-msgs-to-process=10000


β–ͺ Github

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/sqlhub/1874
Create:
Last Update:

πŸ–₯ SQL Flow

SQL Flow позиционируСтся ΠΊΠ°ΠΊ Β«DuckDB для ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…Β» β€” лёгковСсный Π΄Π²ΠΈΠΆΠΎΠΊ stream-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ вСсь pipeline СдинствСнным языком SQL ΠΈ слуТащий ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ Apache Flink.

πŸ” ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ возмоТности:

- Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ (Sources): Kafka, WebSocket-стримы, HTTP-webhooks ΠΈ Π΄Ρ€.
- ΠŸΡ€ΠΈΡ‘ΠΌΠ½ΠΈΠΊΠΈ (Sinks): Kafka, PostgreSQL, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ S3-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, Π»ΡŽΠ±Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ DuckDB (JSON, Parquet, Iceberg ΠΈ Ρ‚.Π΄.).
- SQL-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ (Handler): встраиваСт DuckDB + Apache Arrow; ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π°Π³Ρ€Π΅Π³Π°Ρ‚Ρ‹, ΠΎΠΊΠΎΠ½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, UDF ΠΈ динамичСский Π²Ρ‹Π²ΠΎΠ΄ схСмы.
- Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°ΠΌΠΈ: in-memory tumbling-windows, Π±ΡƒΡ„Π΅Ρ€Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.
- ΠΠ°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ: встроСнныС Prometheus-ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ (с Ρ€Π΅Π»ΠΈΠ·Π° v0.6.0).

πŸ”— АрхитСктура

ΠšΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ описываСтся YAML-Ρ„Π°ΠΉΠ»ΠΎΠΌ с Π±Π»ΠΎΠΊΠ°ΠΌΠΈ `source β†’ handler β†’ sink`.
Π’ΠΎ врСмя выполнСния:

1. Source считываСт ΠΏΠΎΡ‚ΠΎΠΊ (Kafka, WebSocket …).
2. Handler выполняСт SQL-Π»ΠΎΠ³ΠΈΠΊΡƒ Π² DuckDB.
3. Sink сохраняСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

βœ… Быстрый старт (β‰ˆ 5 ΠΌΠΈΠ½ΡƒΡ‚)


# ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π·
docker pull turbolytics/sql-flow:latest

# тСстовая ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
docker run -v $(pwd)/dev:/tmp/conf \
-v /tmp/sqlflow:/tmp/sqlflow \
turbolytics/sql-flow:latest \
dev invoke /tmp/conf/config/examples/basic.agg.yml /tmp/conf/fixtures/simple.json

# запуск ΠΏΡ€ΠΎΡ‚ΠΈΠ² Kafka
docker-compose -f dev/kafka-single.yml up -d # ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ Kafka

docker run -v $(pwd)/dev:/tmp/conf \
-e SQLFLOW_KAFKA_BROKERS=host.docker.internal:29092 \
turbolytics/sql-flow:latest \
run /tmp/conf/config/examples/basic.agg.mem.yml --max-msgs-to-process=10000


β–ͺ Github

@sqlhub

BY Data Science. SQL hub




Share with your friend now:
tg-me.com/sqlhub/1874

View MORE
Open in Telegram


Data Science SQL hub Telegram | DID YOU KNOW?

Date: |

The SSE was the first modern stock exchange to open in China, with trading commencing in 1990. It has now grown to become the largest stock exchange in Asia and the third-largest in the world by market capitalization, which stood at RMB 50.6 trillion (US$7.8 trillion) as of September 2021. Stocks (both A-shares and B-shares), bonds, funds, and derivatives are traded on the exchange. The SEE has two trading boards, the Main Board and the Science and Technology Innovation Board, the latter more commonly known as the STAR Market. The Main Board mainly hosts large, well-established Chinese companies and lists both A-shares and B-shares.

Data Science SQL hub from br


Telegram Data Science. SQL hub
FROM USA